WebuSocketのテストをポータブルにする + tls1.2
わすれてたんだけど、nginx-lua側もtlsやらんとな。
https://github.com/openresty/lua-ssl-nginx-module
概要
これもまた式年遷宮。
・tls喋れるWebServer欲しい
・ついでにwssも喋れるWebServer欲しい
という感じで。
Unity2017からは.netCoreのバイナリも入ってるんで、それでフルに書こうかな~~と思ったんだけど、うーんん、まずは動作する別環境を作って、それに追いつかせよう。
というわけでまずは見本作成、nginxでの手元でtlsなhttp + websocket な話から。
-> 準備が思ったより大変だったので、うーん、最後のチャレンジとしてルータの整理整頓を行う。悲しい。
TLS導入の話
let’s Encryptな。
https://www.nginx.com/blog/lets-encrypt-tls-nginx/
nginxの設定
日本語でわかりやすく。
https://heartbeats.jp/hbblog/2012/06/nginx06.html
で、それらが整った上で、netCore上でとりあえずhttpとwebsocket返せるやつ書こう。
そういえば、WebuSocketでのドメインの除外設定について
特になんもせずに流してる気がしてきたぞ。ガバガバだぞ。
https://github.com/sassembla/WebuSocket/blob/master/WebuSocket/WebSocketEncryption.cs#L73
なんとかしよう。
メモ
certbotってのを使うといい感じっぽい。
https://certbot.eff.org
どんなサーバ使ってるんだっけ? -> ubuntuなんだけどvどれ
cat /etc/*release
-> 16.04.2 LTS
ふむ。
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
ふーむ、一行目からこける要素がある。apt-get update したらいけた。これ以降は動作。
Geographic area: 6
Time zone: 78
で、ここからがcertbotの動作。
sudo certbot --nginx
で、
No names were found in your configuration files. Please enter in your domain
name(s) (comma and/or space separated) (Enter 'c' to cancel):kissaki.tv
ふむ。
nginx: [error] invalid PID number "" in "/run/nginx.pid"
Cannot find a VirtualHost matching domain kissaki.tv.
あ、なんか前提おかしいっぽい。nginx動いてるといけなかったかな?
なんか起動しっぱなしのnginxのpidがおかしいのかな。
-> nginxの状態がおかしいっぽい。ふむ?
-> リンクがおかしかった。デフォルトでnginxっていうリンクが存在してるぽいんだけど、自分の構成したnginxのパスを踏んでない。
このexeはなんかletsencが作っちゃってるっぽいな。なるほどな?
・restartには失敗してるんだけどもうconfは変わってるんだろうか?
なんかletsencは別のnginxをいじってるような気がしなくもない。
とりあえず本家で入ってたnginxを停止した状態で試してみよう。
-> エラーは出なくなった。が、
Cannot find a VirtualHost matching domain kissaki.tv.
とか言われる。ふむ。
なんかいろんな前提がありそうなんで、bareなubuntuからやってみよう。
Bareなubuntuでリトライ
apt-get install python-certbot-nginx
のとこで、nginx入れてるんだなあ。これと前提が合わせられればそれでいいか。
で、ubuntu + certbotだとバグがあるみたいな? まじ?
下記で触れられてるのと同じことが起きてるっぽくて、うーん。最近か。centosでやってみよう。
https://totoshko88.wordpress.com/2017/06/11/letsencrypt-certbot-ubuntu-nginx/
Bare centosでリトライ
はい。とりあえず動かしたい。
yum -y install wget
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto --nginx
で、依存いろいろ入れて、
Saving debug log to /var/log/letsencrypt/letsencrypt.log
The nginx plugin is not working; there may be problems with your existing configuration.
The error was: NoInstallationError()
ふむ、、、なんかあやしい。
こっちではnginxが入ってないな~なるほど、動かしとけ的な前提なのかな?
いろいろ読んで試そう。
https://digitz.org/blog/lets-encrypt-ssl-centos-7-setup/
https://certbot.eff.org/docs/
別軸
How to setup NGINX with automatic HTTPS in Docker
https://tevinjeffrey.me/how-to-setup-nginx-proxy-and-lets-encrypt-with-docker/
nginx側の記事
https://www.nginx.com/blog/lets-encrypt-tls-nginx/
Certbot
main
https://certbot.eff.org/#ubuntuxenial-nginx
doc
https://certbot.eff.org/docs/
おっdockerに対応してる記事あった
http://qiita.com/setouchi/items/b3a78cb396ae6e58b84b
wordpressかー
Running with Docker
うーんドキュメントを読もうと言う感じだ。
https://certbot.eff.org/docs/install.html#running-with-docker
docker で全自動 Let's encrypt
ほうほう。
http://qiita.com/kuboon/items/f424b84c718619460c6f
続きやってみよう。
・対象のドメインへのアクセスができなかったから動いてない説
・ARecordのセット
https://muumuu-domain.com/?mode=conpane&state=custom
・ルータの解放
https://www.akakagemaru.info/port/wsr-2533dhp-portfw.html
あたりがありそう。なるほどって感じ。で、ルータのパスを失ったので、どうすっかな。再設定か~。
最終的に欲しいものは
nginx + tlsを動かせる場所。
awsで構築するか。
nginx
あ、そういえばdocker作ったわ。
dockerでの動作な必要があるのかな?
aws
ec2に導入すれば良さそう、これはapacheの例なのでまあ読みかえでいけるかな。
https://qiita.com/MashMorgan/items/56498f276c54406b1928